// 将下面异步代码使用 Promise 的方式改进
setTimeout(function () {
    var a = "hello";
    setTimeout(function () {
        var b = "lagou";
        setTimeout(function () {
            var c = "I ♥ U";
            console.log(a + b + c);
        }, 10);
    }, 10);
}, 10);

function p(value) {
    return new Promise((resolve, reject) => [
        setTimeout(() => {
            resolve(value);
        }, 10),
    ]);
}

p("hello")
    .then((res) => {
        return p(res + "lagou");
    })
    .then((res) => {
        return p(res + "I ♥ U");
    })
    .then((res) => {
        console.log(res);
    });
